Server computers often receive input/output (I/O) requests from client computers. For example, a server computer may provide a multi-tenant platform to multiple clients. The server computer may provide services such as storage, archive, databases, etc. to different clients. In some instances, a client computer may send an I/O request to a server computer over a communication network for storing data in a storage device. Server computers often include one or more input/output (I/O) devices. For example, a server computer may include one or more I/O adapter devices for communicating with the storage devices.
In some instances, server computers may process payload data for the I/O requests for storing in the storage devices. For example, in one instance, a host device in a server computer may perform data mirroring to generate multiple copies of the payload data to have high availability of the data. In another instance, the host device may perform data striping on the payload data to generate multiple segments (or stripes) of the data for faster retrieval of the data. The host device may send the multiple copies or segments of the data over a Peripheral Component Interconnect Express (PCIe) interface to an I/O adapter device for storing in a storage device. Sending each copy or segment of the data over the PCIe bus to the I/O adapter device may not only consume lot of bandwidth between the host device and the I/O adapter device but may also slow down the performance of the host device for other important tasks.